| Total Complexity | 4 |
| Total Lines | 26 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | import { setBlockType } from 'prosemirror-commands'; |
||
| 6 | export default class HeadingMenuItemDispatcher extends AbstractMenuItemDispatcher { |
||
| 7 | /** |
||
| 8 | * Create an MenuItemDispatcher to set the blocktype to a heading at the given level |
||
| 9 | * |
||
| 10 | * @param {int} level the level of the heading, from 1 to 6 |
||
| 11 | */ |
||
| 12 | constructor(level) { |
||
| 13 | super(); |
||
| 14 | this.level = level; |
||
| 15 | } |
||
| 16 | |||
| 17 | isAvailable(schema) { // eslint-disable-line class-methods-use-this |
||
| 18 | return !!schema.nodes.heading; |
||
| 19 | } |
||
| 20 | |||
| 21 | getMenuItem(schema) { |
||
| 22 | if (!this.isAvailable(schema)) { |
||
| 23 | throw new Error('Headings not available in this schema!'); |
||
| 24 | } |
||
| 25 | return new MenuItem({ |
||
| 26 | command: setBlockType(schema.nodes.heading, { level: this.level }), |
||
| 27 | icon: svgIcon(`format-header-${this.level}`), |
||
| 28 | label: LANG.plugins.prosemirror['label:heading'].replace(/%s/, this.level), |
||
|
|
|||
| 29 | }); |
||
| 30 | } |
||
| 31 | } |
||
| 32 |
This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.
To learn more about declaring variables in Javascript, see the MDN.